﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using CamadaAcessoBDPostgresql;
using Entidades;


namespace CamadaAcessoDadosPostgresql
{
    public class UsuarioWork 
    {
        public Usuario Get(Usuario pUsuario)
        {
            
            
            Usuario usuario = new Usuario();
            StringBuilder comando = new StringBuilder();
            comando.Append(" SELECT * ");
            comando.Append(" FROM produto");
            comando.Append(" WHERE");
            if (pUsuario.Idusuario > 0)
                comando.Append(" produto.idusuario =" + pUsuario.Idusuario);
            else
            {
                comando.Append(" usuario.senha = '" + pUsuario.Senha + "'");
                comando.Append(" AND usuario.login = '" + pUsuario.Login + "'");
            }

            DataTable dt = new DataTable();
            dt = new TaskConnection().RunCommand(comando.ToString(), true);
            DataTableReader dtr = dt.CreateDataReader();
            if (dtr.HasRows)
            {
                while (dtr.Read())
                {
                    usuario.Idusuario = (int)dtr["idusuario"];
                    usuario.Senha = dtr["senha"].ToString();
                    usuario.Login = dtr["login"].ToString();


                }
            }
            return usuario;
        }


        public Usuario Get(int pIDUsuario)
        {
            Usuario usuario = new Usuario();
            StringBuilder comando = new StringBuilder();
            comando.Append(" SELECT * ");
            comando.Append(" FROM usuario");
            comando.Append(" WHERE");           
            comando.Append(" usuario.idusuario =" + pIDUsuario);
          
            DataTable dt = new DataTable();
            dt = new TaskConnection().RunCommand(comando.ToString(), true);
            DataTableReader dtr = dt.CreateDataReader();
            if (dtr.HasRows)
            {
                while (dtr.Read())
                {
                    usuario.Idusuario = (int)dtr["idusuario"];
                    usuario.Senha = dtr["senha"].ToString();
                    usuario.Login = dtr["login"].ToString();                    
                }
            }
            return usuario;
        }


        public List<Usuario> GetList()
        {

            List<Usuario> usuarios = new List<Usuario>();
            StringBuilder comando = new StringBuilder();
            comando.Append(" SELECT * ");
            comando.Append(" FROM usuario");
            
            DataTable dt = new DataTable();
            dt = new TaskConnection().RunCommand(comando.ToString(), true);
            DataTableReader dtr = dt.CreateDataReader();
            if (dtr.HasRows)
            {
                while (dtr.Read())
                {
                    Usuario usuario = new Usuario();
                    usuario.Idusuario = (int)dtr["idusuario"];
                    usuario.Senha = dtr["senha"].ToString();
                    usuario.Login = dtr["login"].ToString();
                    usuarios.Add(usuario);

                }
                dtr.Close();
            }
            return usuarios;
        }

        public DataTable GetTodos()
        {
            StringBuilder comando = new StringBuilder();
            comando.Append(" SELECT usuario.idusuario, ");
            comando.Append(" usuario.login ");
            comando.Append(" FROM usuario");

            DataTable dt = new DataTable();
            dt = new TaskConnection().RunCommand(comando.ToString(), true);
            return dt;
        }


       
    }
}

